package cn.com.hatech.blog.module.admin.category.service;

import cn.com.hatech.blog.module.admin.category.entity.Meta;

import java.util.List;

/**
 * @projectName: hatech-blog
 * @package: cn.com.hatech.blog.module.admin.service
 * @className: IMetaService
 * @author: xuruikai
 * @description: 分类信息业务层接口
 * @date: 2020/1/11 14:27
 * @version: 1.0
 */
public interface IMetaService {

    /**
     * 查询所有分类表信息 ( 包含标签)
     *
     * @return
     */
    List<Meta> selectAllMetas();

    /**
     * 保存项目
     *
     * @param type
     * @param name
     * @param id
     */
    void saveMeta(String type, String name, String id);


    /**
     * 根据类型查询项目列表
     *
     * @param types
     * @return
     */
    List<Meta> selectAllMetasByType(String types);


    /**
     * 保存多个项目
     *
     * @param id
     * @param categoryNames
     * @param tagNames
     */
    int saveMetas(String id, String categoryNames, String tagNames);

    /**
     * 根据类型和名字查询项
     *
     * @param type
     * @param name
     * @return
     */
    Meta getMeta(String type, String name);

    /**
     * 删除项目
     *
     * @param id
     */
    void delete(String id);

    /**
     * 通过分类标签集合获取分类标签的名称字符串
     *
     * @param metaIds
     * @param type
     * @return
     */
    String getMetaNamesByMetaIds(List<String> metaIds, String type);
}
